#!/bin/bash

if [ $# -lt 1 ]; then
    echo "请输入需要发布的项目名"
    exit 1
fi

N_PROJECT=$1
echo "需要发布的项目为${N_PROJECT}"


echo "旧项目备份===========开始"
cp /data/${N_PROJECT}/target/${N_PROJECT}-1.0.0-SNAPSHOT-deploy.tar.gz /data/rtblikeserver/backup/${N_PROJECT}-1.0.0-SNAPSHOT-deploy.tar.gz.$(date +%s)
echo "旧项目备份===========结束"

# 进入项目目录
cd /data/${N_PROJECT}/

echo "获取最新代码============开始"
git pull
echo "获取最新代码============结束"

echo "构建代码=============="
mvn clean install -Dlz.env=online -Dmaven.test.skip

echo "停止旧服务==============开始"
sh /data/rtblikeserver/servers/${N_PROJECT}/shutdown.sh
echo "停止旧服务==============结束"

echo "解压新代码到对应的服务==============开始"
tar -zxvf /data/${N_PROJECT}/target/${N_PROJECT}-1.0.0-SNAPSHOT-deploy.tar.gz -C /data/rtblikeserver/servers/${N_PROJECT}/
echo "解压新代码到对应的服务==============开始"

sleep 3s

echo "启动新服务================="
sh /data/rtblikeserver/servers/${N_PROJECT}/startup.sh

P_LOG=`ls -lt /data/rtblikeserver/logs/${N_PROJECT}/ | grep server_stdout | head -n 1 |awk '{print $9}'`
echo "获取的日志文件名为 ${P_LOG}"
# 打印日志
tail -fn500 /data/rtblikeserver/logs/${N_PROJECT}/${P_LOG} 
